package com.ruoyi.zhgd.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.zhgd.domain.bo.YLJReportBo;
import com.ruoyi.zhgd.domain.vo.YLJJLVo;
import com.ruoyi.zhgd.domain.vo.NLaboratoryMechanicsYGroupReportVo;
import com.ruoyi.zhgd.domain.vo.NLaboratoryMechanicsYGroupVo;
import com.ruoyi.zhgd.domain.bo.NLaboratoryMechanicsYGroupBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.text.ParseException;
import java.util.Collection;
import java.util.List;

/**
 * 压力机数据主Service接口
 *
 * @author zyb
 * @date 2023-09-11
 */
public interface INLaboratoryMechanicsYGroupService {

    /**
     * 查询压力机数据主
     */
    NLaboratoryMechanicsYGroupVo queryById(Long id);

    /**
     * 查询压力机数据主列表
     */
    TableDataInfo<NLaboratoryMechanicsYGroupVo> queryPageList(NLaboratoryMechanicsYGroupBo bo, PageQuery pageQuery);

    /**
     * 查询压力机数据主列表
     */
    List<NLaboratoryMechanicsYGroupVo> queryList(NLaboratoryMechanicsYGroupBo bo);

    /**
     * 新增压力机数据主
     */
    Boolean insertByBo(NLaboratoryMechanicsYGroupBo bo);

    /**
     * 修改压力机数据主
     */
    Boolean updateByBo(NLaboratoryMechanicsYGroupBo bo);

    /**
     * 批量新增或修改 压力机数据主表
     * @param reportBo
     */
    Boolean insertOrUpdateBatchByBoList(YLJReportBo reportBo);

    /**
     * 校验并批量删除压力机数据主信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 压力机设备信息列表
     * @param bo
     * @param pageQuery
     * @return
     */
    TableDataInfo<NLaboratoryMechanicsYGroupVo> page(NLaboratoryMechanicsYGroupBo bo, PageQuery pageQuery);

    void verifyEligible(Integer id);

    R<List<NLaboratoryMechanicsYGroupReportVo>> reportList(String sybh,Integer id) throws ParseException;

    R<List<YLJJLVo>> reportBs(String sybh,Integer id);
}
